<html>
	<head>
		<meta charset="utf-8"/>
		<title>BHolder</title>
		<link rel="stylesheet" type="text/css" href="../style.css"/>
	</head>
	<body>
		<h1>BHolder</h1>
		<h2>public</h2>
		<table id="public">
			<tr><td align="right">inline </td><td><a href="#BHolder()">BHolder</a>();</td></tr>
			<tr><td align="right">inline </td><td><a href="#BHolder(T*)">BHolder</a>(T* ptr);</td></tr>
			<tr><td align="right">inline </td><td><a href="#BHolder(const BHolder<T>&)">BHolder</a>(const BHolder&ltT&gt& other);</td></tr>
			<tr><td align="right">inline </td><td><a href="#~BHolder()">~BHolder</a>();</td></tr>
			<tr><td align="right">inline bool </td><td><a href="#empty()">empty</a>() const;</td></tr>
			<tr><td align="right">inline bool </td><td><a href="#valid()">valid</a>() const;</td></tr>
			<tr><td align="right">inline void </td><td><a href="#hold(T*)">hold</a>(T* ptr);</td></tr>
			<tr><td align="right">inline void </td><td><a href="#drop()">drop</a>();</td></tr>
			<tr><td align="right">inline T* </td><td><a href="#ptr()">ptr</a>() const;</td></tr>
			<tr><td align="right">inline T* </td><td><a href="#get()">get</a>() const;</td></tr>
			<tr><td align="right">inline </td><td><a href="#operator T*()">operator T*</a>() const;</td></tr>
			<tr><td align="right">inline T& </td><td><a href="#operator*()">operator*</a>() const;</td></tr>
			<tr><td align="right">inline T* </td><td><a href="#operator->()">operator-></a>() const;</td></tr>
			<tr><td align="right">inline const BHolder& </td><td><a href="#operator = (T*)">operator = </a>(T* ptr);</td></tr>
			<tr><td align="right">inline const BHolder& </td><td><a href="#operator = (const BHolder&)">operator = </a>(const BHolder& other);</td></tr>
		</table>
		<div id="desc">
			<h2>Detailed Description : </h2>
			<p>BHolder is a holder of one thing, any thing could be hold.</p>
			<p>Example BHolder&ltBObject&gt, while a holder hold a thing the thing's count value will plus one. When a holder drop a thing the count value of the thing will sub one, if the count value of the thing dropped is 0 the thing will be delete, because no one hold it anymore.</p>
		</div>
		<h2 id="docs">Member Documentation</h2>
		<div id="BHolder()">
			<h3>inline BHolder();</h3>
			<p>Constructs a empty holder.</p>
		</div>
		<div id="BHolder(T*)">
			<h3>inline BHolder(T* ptr);</h3>
			<p>Constructs a handler initialized with a thing, the ptr must be a thing.</p>
		</div>
		<div id="BHolder(const BHolder<T>&)">
			<h3>inline BHolder(const BHolder&ltT&gt& other);</h3>
		</div>
		<p>Constructs a handler to hold the thing holded by other.</p>
		<div id="~BHolder()">
			<h3>inline ~BHolder();</h3>
			<p>Destroys a holder, if the count value of the thing holded will sub one.</p>
		</div>
		<div id="empty()">
			<h3>inline bool empty() const;</h3>
			<p>If this does't hold any thing return true, otherwise return false.</p>
		</div>
		<div id="valid()">
			<h3>inline bool valid() const;</h3>
			<p>If this hold a thing returns true, if this is empty return false.</p>
		</div>
		<div id="hold(T*)">
			<h3>inline void hold(T* ptr);</h3>
			<p>Start to hold a thing.</p>
		</div>
		<div id="drop()">
			<h3>inline void drop();</h3>
			<p>Stop holding the thing.</p>
		</div>
		<div id="ptr()">
			<h3>inline T* ptr() const;</h3>
			<p>Get the pointer of the thing holded, equals BHolder::get().</p>
		</div>
		<div id="get()">
			<h3>inline T* get() const;</h3>
			<p>Get the pointer of the thing holded.</p>
		</div>
		<div id="operator T*()">
			<h3>inline operator T*() const;</h3>
			<p>Convenient way to get the thing holded.</p>
		</div>
		<div id="operator*()">
			<h3>inline T& operator*() const;</h3>
			<p>comfortable way to use the holder as a pointer of the thing.</p>
		</div>
		<div id="operator->()">
			<h3>inline T* operator->() const;</h3>
		</div>
		<div id="operator = (T*)">
			<h3>inline const BHolder& operator = (T* ptr);</h3>
			<p>Convenient way to start holding a thing.</p>
		</div>
		<div id="operator = (const BHolder&)">
			<h3>inline const BHolder& operator = (const BHolder& other);</h3>
			<p>Start to hold a thing holed yet by another holder.</p>
		</div>
	</body>
</html>